In the context of networking systems, such as IP routers and gateways, these systems are typically required to process an increasingly large amount of packets. This means that systems and system designers are typically required to find ways to provide more and more processing and bandwidth capacities. As the networking growth typically occurs over a long period of time, equipment vendors could offer different equipment based on capacity requirements, could offer an over engineered system, or could offer a more elegant way of scaling a system in order to sustain the increasing processing capacity requirements of the system operators.
It is typical to build large systems based on small components which are efficiently interconnected. For example, a system could be built using a blade form-factor, where each processor blade could provide a certain processing and bandwidth capacity. By interconnecting all the processor blades, it becomes possible to distribute the work load between the different processor blades, which could make the overall system a very high capacity system. Assuming that processor blades could be added or removed based on the processing capacity requirements of the system, a certain level of system scalability would be possible.
In order to interconnect a number of processor blades, a switch is typically required to exchange information between the blades. Depending on the required system characteristics, different switch fabric solutions could be used. While there are several standard-based solutions commercially available, there are also several proprietary solutions offering very advanced capabilities with regards to packet forwarding between a system's components.
While system scalability is typically provided by allowing more or fewer processor blades to be added to or removed from a system, it is not typical to allow this kind of scalability for the switch fabric. The switch fabric is normally designed on a system basis, assuming the maximum expected processing and bandwidth capacity requirements. For example, if a system would be designed to support a maximum of 128 processor blades, even though the system would only initially require 10 processor blades to be used to fulfill its processing capacity requirements, the switch fabric would typically still integrate all the hardware required for a 128-blade system, not only for a 10-blade system.
Since systems are typically scaled on a per blade-basis, because blades are normally designed with copper-based interconnections, because switch fabric solutions are typically designed to work based on the assumption that the maximum bandwidth capacity of a system might be required at any time, and because systems typically allow for a relatively limited number of interconnected processor blades, highly scalable switch fabric solutions with non-blocking characteristics are typically extremely challenging. While proprietary solutions could be developed to provide a highly scalable switch fabric, there is a need for simple solutions based on commercially available switch chipsets and protocols for providing a cost effective solution.